001 /* EVolve - an Extensible Software Visualization Framework
002 * Copyright (C) 2001-2002 Qin Wang
003 *
004 * This library is free software; you can redistribute it and/or
005 * modify it under the terms of the GNU Library General Public
006 * License as published by the Free Software Foundation; either
007 * version 2 of the License, or (at your option) any later version.
008 *
009 * This library is distributed in the hope that it will be useful,
010 * but WITHOUT ANY WARRANTY; without even the implied warranty of
011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012 * Library General Public License for more details.
013 *
014 * You should have received a copy of the GNU Library General Public
015 * License along with this library; if not, write to the
016 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
017 * Boston, MA 02111-1307, USA.
018 */
019
020 /*
021 * EVolve is distributed at http://www.sable.mcgill.ca/EVolve/
022 */
023
024 package EVolve.data;
025
026 public abstract class Element implements Cloneable{
027 private int type;
028 private long[] field;
029 private boolean isOptional;
030
031 Element(int type, long[] field) {
032 this.type = type;
033 this.field = field;
034 this.isOptional = false;
035 }
036
037 Element(int type, long[] field, boolean isOptional) {
038 this(type, field);
039 this.isOptional = isOptional;
040 }
041
042 public int getType() {
043 return type;
044 }
045
046 public long[] getField() {
047 return field;
048 }
049
050 public boolean isOptional() {
051 return isOptional;
052 }
053
054 public Object clone() {
055 Object o = null;
056 try {
057 o = super.clone();
058 } catch (CloneNotSupportedException e) {
059 e.printStackTrace();
060 }
061 return o;
062 }
063 }